package com.koron.css2.newProjectCenter.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.css2.baseConfig.bean.BaseBean;

import java.math.BigDecimal;
import java.util.Date;

public class PjCollection extends BaseBean {

    /**
     * 收款类型 2 进度款 1 预收款
     */
    public static final int TYPE_1 = 1;

    /**
     * 收款类型 2 进度款 1 预收款
     */
    public static final int TYPE_2 = 2;

    /**
     * 收款状态 1 代收款 2 已收款
     */
    public static final int STATUS_1 = 1;

    /**
     * 收款状态 1 代收款 2 已收款
     */
    public static final int STATUS_2 = 2;

    /**
     * 收款金额
     */
    private BigDecimal money;

    /**
     * 收款类型
     */
    private Integer type;

    /**
     * 备注
     */
    private String notes;

    /**
     * 收款主体
     */
    private String constructionUnit;

    /**
     * 用水保证金
     */
    private BigDecimal deposit;

    /**
     * 缴费渠道
     */
    private Integer paymentApproaches;

    /**
     * 缴费方式
     */
    private Integer paymentMethod;

    /**
     * 缴费方式名称
     */
    private String paymentMethodName;

    /**
     * 收费时间
     */
    private String paymentDate;

    /**
     * 收款人
     */
    private String paymentStaff;

    /**
     * 发票类型
     */
    private Integer invoiceType;

    /**
     * 发票代码
     */
    private String invoiceCode;

    /**
     * 发票号码/票号
     */
    private String invoiceNumber;

    /**
     * 工程编码
     */
    private String projectCode;

    /**
     * 工程名称
     */
    private String projectName;

    /**
     * 报装日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date projectDate;

    /**
     * 收款状态
     */
    private Integer status;

    /**
     * 收款状态名称
     */
    private String statusName;

    /**
     * 工程地址
     */
    private String projectAddress;

    /**
     * 客户名称
     */
    private String clientName;

    /**
     * 单据编号
     */
    private String billNo;

    /**
     * 制单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date billDate;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 流程状态
     */
    private String processState;

    /**
     * 流程名称
     */
    private String processName;

    /**
     * 当前处理人
     */
    private String processHandleMan;

    /**
     * 工程主键ID
     */
    private String pjId;

    /**
     * 发票地址
     */
    private String invoiceUrl;

    /**
     * 开票人
     */
    private String invoicePerson;

    /**
     * 开票时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date invoiceTime;

    public String getInvoiceUrl() {
        return invoiceUrl;
    }

    public void setInvoiceUrl(String invoiceUrl) {
        this.invoiceUrl = invoiceUrl;
    }

    public String getInvoicePerson() {
        return invoicePerson;
    }

    public void setInvoicePerson(String invoicePerson) {
        this.invoicePerson = invoicePerson;
    }

    public Date getInvoiceTime() {
        return invoiceTime;
    }

    public void setInvoiceTime(Date invoiceTime) {
        this.invoiceTime = invoiceTime;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public String getConstructionUnit() {
        return constructionUnit;
    }

    public void setConstructionUnit(String constructionUnit) {
        this.constructionUnit = constructionUnit;
    }

    public BigDecimal getDeposit() {
        return deposit;
    }

    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    public Integer getPaymentApproaches() {
        return paymentApproaches;
    }

    public void setPaymentApproaches(Integer paymentApproaches) {
        this.paymentApproaches = paymentApproaches;
    }

    public Integer getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(Integer paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethodName() {
        return paymentMethodName;
    }

    public void setPaymentMethodName(String paymentMethodName) {
        this.paymentMethodName = paymentMethodName;
    }

    public String getPaymentDate() {
        return paymentDate;
    }

    public void setPaymentDate(String paymentDate) {
        this.paymentDate = paymentDate;
    }

    public String getPaymentStaff() {
        return paymentStaff;
    }

    public void setPaymentStaff(String paymentStaff) {
        this.paymentStaff = paymentStaff;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public Date getProjectDate() {
        return projectDate;
    }

    public void setProjectDate(Date projectDate) {
        this.projectDate = projectDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getProjectAddress() {
        return projectAddress;
    }

    public void setProjectAddress(String projectAddress) {
        this.projectAddress = projectAddress;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Date getBillDate() {
        return billDate;
    }

    public void setBillDate(Date billDate) {
        this.billDate = billDate;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getProcessState() {
        return processState;
    }

    public void setProcessState(String processState) {
        this.processState = processState;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getProcessHandleMan() {
        return processHandleMan;
    }

    public void setProcessHandleMan(String processHandleMan) {
        this.processHandleMan = processHandleMan;
    }

    public String getPjId() {
        return pjId;
    }

    public void setPjId(String pjId) {
        this.pjId = pjId;
    }
}
